export interface AsnQueryParams {
    current: number;
    size: number;
    type: string;
    keyword?: string;
}

export interface AsnRecord {
    id: string;
    create_time: string;
    update_time: string;
    tenant_id: string;
    delete_flag: boolean;
    supplier_id: string;
    supplier_name: string;
    asn_num: string;
    asn_type: number;
    create_user_id: number;
    create_user_name: string;
    state: boolean;
    confirm_state: boolean;
    confirm_user_id: string;
    confirm_user_name: string;
    confirm_time: string;
    asn_date: string;
    asn_month: string;
    asn_week: string;
    asn_year: string;
    odd_id: string | null;
    odd_num: string | null;
    odd_time: string | null;
    body_list: AsnBodyItem[];
}

export interface AsnBodyItem {
    id: string;
    create_time: string;
    update_time: string;
    tenant_id: string;
    delete_flag: boolean;
    asn_header_id: string;
    header_num: string;
    asn_num: string;
    asn_type: number;
    batch_num: string | null;
    odd_id: string | null;
    odd_num: string | null;
    odd_body_id: string | null;
    odd_time: string | null;
    supplier_id: string;
    supplier_name: string;
    create_user_id: string;
    create_user_name: string;
    tester_user_id: string | null;
    tester_user_name: string | null;
    product_id: string;
    is_product_sn: boolean;
    product_property: number;
    product_short_name: string;
    product_name: string;
    product_model: string;
    sku_id: string | null;
    sku: string | null;
    product_specs: string;
    product_encode: string;
    product_bar_code: string;
    product_link: string | null;
    quantity: number;
    arrival_time: string;
    arrived_time: string | null;
    arrived_date: string | null;
    uninstall_time: string | null;
    uninstall_date: string | null;
    uninstall_quantity: number;
    qc_quantity: number;
    uninstall_user_id: string | null;
    uninstall_user_name: string | null;
    pick_time: string | null;
    pick_date: string | null;
    pick_quantity: number;
    pick_user_id: string | null;
    pick_user_name: string | null;
    instore_quantity: number;
    instore_user_id: string | null;
    instore_user_name: string | null;
    instore_time: string | null;
    instore_date: string | null;
    real_quantity: number;
    less_quantity: number;
    more_quantity: number;
    fatal_quantity: number;
    check_state: number;
    iqc_state: number;
    iqc_header_id: string | null;
    is_bind_tray: boolean;
    confirm_state: boolean;
    unload_state: boolean;
    pick_state: boolean;
    instore_state: boolean;
    asn_date: string;
    asn_month: string;
    asn_week: string;
    asn_year: string;
}

export interface AsnData {
    records: AsnRecord[];
    total: number;
    size: number;
    current: number;
    pages: number;
}

export interface AsnResponse {
    msg: string;
    code: number;
    data: AsnData;
} 